package com.health.dao;

import com.github.pagehelper.Page;
import com.health.pojo.CheckGroup;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CheckGroupMapper {
    /**
     * 检查组分页条件查询
     */
    Page<CheckGroup> findByQuery(@Param("query") String query);

    /**
     * 到关联表中查询检查组的出现次数
     */
    int findCountByCheckGroupId(Integer id);

    /**
     * 删除检查组与检查项的关联
     */
    void deleteCheckGroupCheckItem(Integer id);

    /**
     * 删除检查组
     */
    int deleteById(Integer id);

    /**
     * 添加检查组
     */
    int add(CheckGroup checkGroup);

    /**
     * 添加检查组与检查项的关联关系
     */
    void addCheckGroupCheckItem(@Param("checkGroupId") Integer checkGroupId,
                                @Param("checkItemIds") Integer[] checkItemIds);

    /**
     * 根据ID查询检查组
     */
    CheckGroup findById(Integer id);

    /**
     * 根据检查组ID查询关联到的检查项ID
     */
    List<Integer> findCheckItemIds(Integer id);

    /**
     * 更新检查组信息
     */
    int update(CheckGroup checkGroup);
}
